; Music of Carmen San Diego (1990) (Broderbund Software) (Luc Guillaume)
; Ripped by Megachur the 04/07/2008

	write "CARMENSD.BIN"

music_date_rip	equ &0478
music_adr	equ &7e93
first_theme	equ 1
last_theme	equ 1

	read "music_header_v1_0.asm"

;
.init_music
;
	push af		; a= 1
	call #bca7
	pop af
	cp #00
	ld hl,l8141
	jp z,#bcdd	; stop music
	ld a,#01 
	ld hl,l8157
	call #bcbc
	ld a,#01
	ld hl,l8161
	call #bcbf
	ld a,#02
	ld hl,l8168
	call #bcbc
	ld a,#02
	ld hl,l816c
	call #bcbf
	ld a,#03
	ld hl,l8173
	call #bcbc
	ld a,#03
	ld hl,l817a
	call #bcbf
	ld a,#04
	ld hl,l8181
	call #bcbc
	ld a,#05
	ld hl,l818e
	call #bcbc
	ld a,#06
	ld hl,l8192
	call #bcbc
	ld a,#07
	ld hl,l819c
	call #bcbc
	ld a,#08
	ld hl,l81a3
	call #bcbc
	xor a
	ld (l8155),a
	ld (l8156),a
	ld (l804d),a
	ld a,#01
	ld (l8150),a
	ld hl,l81ab
	ld (l8153),hl
	call l7fd5
	ld hl,l8141
	ld bc,l8100
	ld de,l7f1c
	jp #bcd7
;
.interrupt_play_music
.l7f1c
;
	di
	push af
	push de
	push hl
	push bc
	push ix
	push iy
	call l7f33
	pop iy
	pop ix
	pop bc
	pop hl
	pop de
	pop af
	ei
	reti
;
.play_music
.l7f33
;
	ld a,(l8150)
	dec a
	cp #00
	jp z,l7f40
	ld (l8150),a
	ret
.l7f40
	ld b,#03
	ld ix,(l8151)
.l7f46
	push bc
	push ix
	ld de,#0001
	ld a,(ix+#00)
	cp #00
	jp z,l7f5a
	call l7fb1
	ld de,#0005
.l7f5a
	pop ix
	pop bc
	add ix,de
	djnz l7f46
	ld a,(ix+#00)
	inc a
	ld (l8150),a
	inc ix
	ld (l8151),ix
	ld a,(ix+#00)
	cp #ff
	ret nz
	xor a
	ld (l804d),a
	jp l7fd5
.l7f7b
	ld a,#0f
	ld iy,l8072
	jp l7f96
.l7f84
	ld a,#0f
	ld iy,l807b
	jp l7f96
.l7f8d
	ld a,#0f
	ld iy,l809f
	jp l7f96
.l7f96
	push af
	push ix
	push iy
	ld (iy+#06),a
	call l801f
	pop iy
	pop ix
	pop af
	dec a
	cp #09
	jp nz,l7f96
	ld (iy+#06),#0f
	ret
.l7fb1
	ld a,(ix+#04)
	cp #10
	jp z,l7f7b
	cp #11
	jp z,l7f84
	cp #13
	jp z,l7f8d
	ld iy,l8072
.l7fc7
	dec a
	cp #00
	jp z,l801f
	ld de,#0009
	add iy,de
	jp l7fc7
.l7fd5
	ld hl,(l8153)
	inc hl
	ld a,(hl)
	cp #00
	jp nz,l7fed
	xor a
	ld (l8155),a
	ld (l8156),a
	ld (l804d),a
	ld hl,l81ac
	ld a,(hl)
.l7fed
	ld (l8153),hl
	cp #64
	jp z,l805a
	cp #65
	jp z,l8062
	ld ix,(l81aa)
	ld de,l81aa
	add ix,de
.l8003
	dec a
	cp #00
	jp z,l8011
	ld de,#0002
	add ix,de
	jp l8003
.l8011
	ld l,(ix+#00)
	ld h,(ix+#01)
	ld de,l81aa
	add hl,de
	ld (l8151),hl
	ret
.l801f
	ld a,(ix+#00)
	ld (iy+#00),a
	ld l,(ix+#01)
	ld h,(ix+#02)
	call l8052
	ld (iy+#03),l
	ld (iy+#04),h
	ld a,(ix+#03)
	ld (iy+#07),a
	ld (iy+#08),#00
	push iy
	pop hl
	ld a,(l8156)
	cp #00
	jp z,#bcaa
	ld a,(ix+#00)
.l804d equ $ + 1
	cp #00
	jp nz,#bcaa
	ret
.l8052
	ld a,(l8155)
	cp #00
	ret z
	add hl,hl
	ret
.l805a
	ld a,#01
	ld (l8155),a
	jp l7fd5
.l8062
	ld a,#01
	ld (l8156),a
	inc hl
	ld a,(hl)
	ld (l804d),a
	ld (l8153),hl
	jp l7fd5
.l8072
	db #00,#01,#00,#00,#00,#00,#0f,#00
.l807b equ $ + 1
	db #00,#00,#02,#00,#00,#00,#05,#0f
	db #00,#00,#00,#03,#00,#00,#00,#00
	db #0f,#00,#00,#00,#04,#00,#00,#00
	db #00,#00,#00,#00,#00,#02,#00,#00
.l809f equ $ + 5
	db #00,#00,#0f,#00,#00,#00,#02,#00
	db #00,#00,#0f,#0f,#00,#00,#00,#02
	db #00,#00,#00,#19,#0f,#00,#00,#00
	db #05,#00,#00,#00,#05,#0f,#00,#00
	db #00,#05,#00,#00,#00,#0f,#0f,#00
	db #00,#00,#05,#00,#00,#00,#0f,#0f
	db #00,#00,#00,#05,#00,#00,#00,#00
	db #0f,#00,#00,#00,#03,#01,#00,#00
	db #00,#0f,#00,#00,#00,#06,#00,#00
	db #00,#01,#00,#00,#00,#00,#00,#02
	db #00,#00,#00,#0c,#00,#00,#00,#03
	db #02,#00,#00,#00,#0f,#00,#00,#00
	db #00,#00,#00,#00,#00,#00
.l8100
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00
	db #04,#02,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#03,#03,#00,#00,#00,#00
	db #00,#00,#00,#07,#00,#00,#00,#00
	db #00,#00,#00,#00,#08,#00,#00,#00
	db #03,#00,#00,#00,#00,#05,#00,#00
.l8141 equ $ + 5
	db #00,#01,#0f,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
.l8153 equ $ + 7
.l8151 equ $ + 5
.l8150 equ $ + 4
	db #00,#00,#00,#00,#00,#00,#00,#00
.l8157 equ $ + 3
.l8156 equ $ + 2
.l8155 equ $ + 1
	db #00,#00,#00,#03,#01,#00,#0a,#0a
.l8161 equ $ + 5
	db #ff,#01,#01,#00,#0a,#82,#14,#01
.l8168 equ $ + 4
	db #01,#14,#ff,#01,#01,#0f,#ff,#02
.l8173 equ $ + 7
.l816c
	db #82,#03,#01,#03,#03,#ff,#03,#02
.l817a equ $ + 6
	db #0a,#ff,#08,#05,#ff,#04,#03,#50
.l8181 equ $ + 5
	db #01,#01,#14,#02,#01,#04,#01,#07
	db #01,#03,#02,#01,#01,#00,#02,#0a
.l8192 equ $ + 6
.l818e equ $ + 2
	db #ff,#05,#01,#0f,#ff,#01,#03,#01
	db #0a,#01,#01,#00,#04,#05,#fe,#01
.l81a3 equ $ + 7
.l819c
	db #02,#01,#0f,#05,#0a,#ff,#02,#02
.l81ab equ $ + 7
.l81aa equ $ + 6
	db #01,#0c,#01,#0c,#ff,#01,#11,#00
.l81ac
	db #03,#01,#01,#02,#02,#03,#04,#04
	db #65,#01,#05,#65,#01,#05,#00,#20
	db #00,#a1,#01,#ee,#02,#23,#03,#c4
	db #04,#04,#01,#f6,#02,#2b,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#7e
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#38
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#7e,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#7e
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#53
	db #03,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#7e
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#f6,#02,#14,#02,#02
	db #00,#00,#14,#17,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#7e
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#38
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#7e,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#7e
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#53
	db #03,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#02,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#f6,#02,#14,#02,#02
	db #00,#00,#14,#02,#00,#09,#ff,#00
	db #02,#00,#00,#14,#17,#04,#9f,#00
	db #14,#04,#09,#00,#02,#00,#00,#14
	db #17,#04,#be,#00,#28,#0f,#09,#01
	db #5f,#00,#14,#05,#02,#00,#00,#14
	db #02,#00,#09,#00,#02,#00,#00,#14
	db #17,#00,#09,#00,#02,#00,#00,#14
	db #17,#04,#8e,#00,#14,#04,#09,#00
	db #02,#00,#00,#14,#17,#04,#9f,#00
	db #96,#0f,#09,#01,#5f,#00,#14,#05
	db #02,#00,#00,#14,#02,#00,#09,#00
	db #02,#00,#00,#14,#17,#00,#09,#00
	db #02,#00,#00,#14,#17,#00,#09,#00
	db #02,#00,#00,#14,#17,#00,#09,#01
	db #5f,#00,#14,#05,#02,#00,#00,#14
	db #02,#00,#09,#00,#02,#00,#00,#14
	db #17,#00,#09,#01,#00,#00,#14,#17
	db #02,#00,#00,#14,#02,#00,#09,#00
	db #02,#00,#00,#14,#17,#00,#09,#01
	db #5f,#00,#14,#05,#02,#00,#00,#14
	db #02,#00,#09,#00,#02,#00,#00,#14
	db #17,#00,#09,#01,#00,#00,#14,#17
	db #02,#00,#00,#14,#02,#00,#09,#00
	db #02,#00,#00,#14,#17,#00,#09,#01
	db #5f,#00,#14,#05,#02,#00,#00,#14
	db #02,#04,#be,#00,#96,#0f,#09,#00
	db #02,#00,#00,#14,#17,#00,#09,#00
	db #02,#00,#00,#14,#17,#00,#09,#00
	db #02,#00,#00,#14,#17,#00,#09,#01
	db #5f,#00,#14,#05,#02,#00,#00,#14
	db #02,#00,#09,#00,#02,#00,#00,#14
	db #17,#00,#09,#00,#02,#00,#00,#14
	db #17,#00,#09,#00,#02,#00,#00,#14
	db #17,#00,#09,#01,#5f,#00,#14,#05
	db #02,#00,#00,#14,#02,#00,#09,#00
	db #02,#00,#00,#14,#17,#00,#09,#01
	db #6a,#00,#14,#05,#02,#00,#00,#14
	db #02,#00,#09,#01,#6a,#00,#14,#05
	db #02,#00,#00,#14,#02,#00,#09,#01
	db #6a,#00,#14,#05,#02,#00,#00,#14
	db #02,#00,#09,#01,#6a,#00,#14,#05
	db #02,#00,#00,#14,#02,#04,#00,#00
	db #14,#17,#09,#ff,#01,#00,#00,#14
	db #17,#00,#00,#09,#00,#00,#00,#09
	db #01,#00,#00,#14,#17,#00,#00,#09
	db #00,#00,#00,#09,#01,#00,#00,#14
	db #17,#00,#00,#09,#00,#00,#00,#09
	db #01,#00,#00,#14,#02,#02,#00,#00
	db #14,#17,#00,#09,#00,#00,#00,#09
	db #ff,#01,#53,#03,#14,#05,#02,#00
	db #00,#14,#0d,#04,#aa,#01,#14,#04
	db #09,#01,#f6,#02,#14,#05,#02,#7b
	db #01,#14,#04,#00,#09,#00,#02,#00
	db #00,#14,#0d,#00,#09,#01,#53,#03
	db #14,#05,#02,#00,#00,#14,#16,#04
	db #aa,#01,#14,#04,#09,#01,#f6,#02
	db #14,#05,#02,#00,#00,#14,#16,#04
	db #7b,#01,#14,#04,#09,#00,#00,#00
	db #09,#01,#53,#03,#14,#05,#02,#00
	db #00,#14,#0d,#04,#aa,#01,#14,#04
	db #09,#01,#f6,#02,#14,#05,#02,#00
	db #00,#14,#02,#04,#7b,#01,#14,#04
	db #09,#00,#02,#00,#00,#14,#0d,#00
	db #09,#01,#53,#03,#14,#05,#02,#00
	db #00,#14,#16,#04,#aa,#01,#14,#04
	db #09,#01,#f6,#02,#14,#05,#02,#00
	db #00,#14,#16,#04,#7b,#01,#14,#04
	db #09,#00,#00,#00,#09,#01,#7e,#02
	db #14,#05,#02,#00,#00,#14,#0d,#04
	db #3f,#01,#14,#04,#09,#01,#7e,#02
	db #14,#05,#02,#00,#00,#14,#02,#04
	db #3f,#01,#14,#04,#09,#01,#38,#02
	db #14,#05,#02,#00,#00,#14,#0d,#04
	db #1c,#01,#14,#04,#09,#01,#38,#02
	db #14,#05,#02,#00,#00,#14,#16,#04
	db #1c,#01,#14,#04,#09,#01,#53,#03
	db #14,#05,#02,#00,#00,#14,#16,#04
	db #aa,#01,#14,#04,#09,#01,#f6,#02
	db #14,#05,#02,#00,#00,#14,#0d,#04
	db #7b,#01,#14,#04,#09,#00,#00,#00
	db #09,#01,#53,#03,#14,#05,#02,#aa
	db #01,#14,#04,#04,#00,#00,#14,#02
	db #09,#01,#f6,#02,#14,#05,#02,#7b
	db #01,#14,#04,#00,#09,#00,#02,#00
	db #00,#14,#0d,#00,#09,#01,#53,#03
	db #14,#05,#02,#00,#00,#14,#16,#04
	db #aa,#01,#14,#04,#09,#01,#f6,#02
	db #14,#05,#02,#00,#00,#14,#16,#04
	db #7b,#01,#14,#04,#09,#00,#00,#00
	db #09,#01,#53,#03,#14,#05,#02,#00
	db #00,#14,#0d,#04,#aa,#01,#14,#04
	db #09,#01,#f6,#02,#14,#05,#02,#00
	db #00,#14,#02,#04,#7b,#01,#14,#04
	db #09,#00,#00,#00,#09,#01,#53,#03
	db #14,#05,#02,#00,#00,#14,#16,#04
	db #aa,#01,#14,#04,#09,#01,#53,#03
	db #14,#05,#02,#00,#00,#14,#16,#04
	db #aa,#01,#14,#04,#09,#01,#53,#03
	db #14,#05,#00,#04,#aa,#01,#14,#04
	db #09,#01,#53,#03,#14,#05,#02,#00
	db #00,#14,#0d,#04,#aa,#01,#14,#04
	db #09,#ff,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#04,#7b,#01,#96
	db #0f,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#7e
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#38
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#7e,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#7e
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#04,#3f,#01,#32
	db #0f,#09,#01,#53,#03,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#7e,#02,#14,#05,#02
	db #00,#00,#14,#02,#00,#09,#01,#f6
	db #02,#14,#02,#02,#00,#00,#14,#17
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#04,#1c,#01,#14
	db #10,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#7e
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#38
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#7e,#02,#14,#05,#02
	db #00,#00,#14,#17,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #04,#52,#01,#14,#10,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#7e,#02,#14,#05,#02
	db #00,#00,#14,#02,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#17
	db #00,#09,#01,#53,#03,#14,#05,#02
	db #00,#00,#14,#02,#00,#09,#01,#f6
	db #02,#14,#05,#02,#00,#00,#14,#02
	db #00,#09,#01,#f6,#02,#14,#05,#02
	db #00,#00,#14,#02,#00,#09,#01,#f6
	db #02,#14,#02,#02,#00,#00,#14,#02
	db #00,#09,#ff,#c5,#d5,#e5,#df,#19
	db #88,#e1,#d1,#c1,#d2,#00,#00,#79
	db #0c,#fe,#49,#38,#03,#0e,#41,#14
	db #24,#24,#10,#e7,#c9,#3f,#c0,#07
;
.game_name
	db "Carmen San Diego",0
.game_year
	db "1990",0
.game_publisher
	db "Broderbund Software",0
.music_author
	db "Luc Guillaume",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"
